package com.nuanshui.heatedloan.baseservice.dal.mapper;


import com.nuanshui.heatedloan.baseservice.form.CommonConfigForm;
import com.nuanshui.heatedloan.baseservice.vo.CommonConfigVO;
import com.nuanshui.heatedloan.pageable.Pager;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * @ClassName: CommonConfigMapper 
 * @author guohao
 * @date 2016年3月21日 下午2:26:35 
 * @since 2.6.0
 *
 */
public interface CommonConfigMapper {
	/**
	 * 根据id获取某个配置
	 * @param 
	 * @author guohao
	 * @date 2016年3月21日 下午2:27:12
	 * @since 2.6.0
	 */
    CommonConfigVO load(@Param("id") String id);

	List<CommonConfigVO> list(@Param("pager") Pager<CommonConfigVO> pager,CommonConfigForm commonConfigForm);

	void save(CommonConfigVO form);

	void update(CommonConfigVO form);

	void delete(String id);
	
	/**
	 * 根据配置的key获取一个配置对象
	 * @param 
	 * @author guohao
	 * @date 2016年3月21日 下午2:27:48
	 * @since 2.6.0
	 */
    CommonConfigVO loadByKey(@Param("key") String key);
	
	/**
	 * 根据配置的key获取所有的配置项
	 * @param 
	 * @author guohao
	 * @date 2016年3月21日 下午2:28:48
	 */
    List<CommonConfigVO> listByKey(@Param("key") String key);
	
	
	/**
	 * 根据配置的key获取所有值
	 * @param 
	 * @author guohao
	 * @date 2016年3月21日 下午2:45:37
	 * @since 2.6.0
	 */
    List<String> listValueByKey(@Param("key") String key);

	

	/**
	 * 根据配置的key获取某个值
	 * @param @param key
	 * @param @return
	 * @author guohao
	 * @date 2016年5月24日 下午4:35:24
	 * @since $
	 */
    String loadValueByKey(@Param("key") String key);
	
	
	/**
	 * 根据配置的key获取某个值
	 * @param @param key
	 * @param @return
	 * @author guohao
	 * @date 2016年5月24日 下午4:35:24
	 * @since $
	 */
    String loadValueByNameAndKey(@Param("name") String name, @Param("key") String key);
	
	
	List<String> listNameLikeValue(@Param("value") String value);
}
 